package com.zhongwang.business.gen.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class InvoiceInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public InvoiceInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andInvIdIsNull() {
            addCriterion("inv_id is null");
            return (Criteria) this;
        }

        public Criteria andInvIdIsNotNull() {
            addCriterion("inv_id is not null");
            return (Criteria) this;
        }

        public Criteria andInvIdEqualTo(Integer value) {
            addCriterion("inv_id =", value, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdNotEqualTo(Integer value) {
            addCriterion("inv_id <>", value, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdGreaterThan(Integer value) {
            addCriterion("inv_id >", value, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("inv_id >=", value, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdLessThan(Integer value) {
            addCriterion("inv_id <", value, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdLessThanOrEqualTo(Integer value) {
            addCriterion("inv_id <=", value, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdIn(List<Integer> values) {
            addCriterion("inv_id in", values, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdNotIn(List<Integer> values) {
            addCriterion("inv_id not in", values, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdBetween(Integer value1, Integer value2) {
            addCriterion("inv_id between", value1, value2, "invId");
            return (Criteria) this;
        }

        public Criteria andInvIdNotBetween(Integer value1, Integer value2) {
            addCriterion("inv_id not between", value1, value2, "invId");
            return (Criteria) this;
        }

        public Criteria andInvCodeIsNull() {
            addCriterion("inv_code is null");
            return (Criteria) this;
        }

        public Criteria andInvCodeIsNotNull() {
            addCriterion("inv_code is not null");
            return (Criteria) this;
        }

        public Criteria andInvCodeEqualTo(String value) {
            addCriterion("inv_code =", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeNotEqualTo(String value) {
            addCriterion("inv_code <>", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeGreaterThan(String value) {
            addCriterion("inv_code >", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeGreaterThanOrEqualTo(String value) {
            addCriterion("inv_code >=", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeLessThan(String value) {
            addCriterion("inv_code <", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeLessThanOrEqualTo(String value) {
            addCriterion("inv_code <=", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeLike(String value) {
            addCriterion("inv_code like", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeNotLike(String value) {
            addCriterion("inv_code not like", value, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeIn(List<String> values) {
            addCriterion("inv_code in", values, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeNotIn(List<String> values) {
            addCriterion("inv_code not in", values, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeBetween(String value1, String value2) {
            addCriterion("inv_code between", value1, value2, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvCodeNotBetween(String value1, String value2) {
            addCriterion("inv_code not between", value1, value2, "invCode");
            return (Criteria) this;
        }

        public Criteria andInvConIdIsNull() {
            addCriterion("inv_con_id is null");
            return (Criteria) this;
        }

        public Criteria andInvConIdIsNotNull() {
            addCriterion("inv_con_id is not null");
            return (Criteria) this;
        }

        public Criteria andInvConIdEqualTo(Integer value) {
            addCriterion("inv_con_id =", value, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdNotEqualTo(Integer value) {
            addCriterion("inv_con_id <>", value, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdGreaterThan(Integer value) {
            addCriterion("inv_con_id >", value, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("inv_con_id >=", value, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdLessThan(Integer value) {
            addCriterion("inv_con_id <", value, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdLessThanOrEqualTo(Integer value) {
            addCriterion("inv_con_id <=", value, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdIn(List<Integer> values) {
            addCriterion("inv_con_id in", values, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdNotIn(List<Integer> values) {
            addCriterion("inv_con_id not in", values, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdBetween(Integer value1, Integer value2) {
            addCriterion("inv_con_id between", value1, value2, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvConIdNotBetween(Integer value1, Integer value2) {
            addCriterion("inv_con_id not between", value1, value2, "invConId");
            return (Criteria) this;
        }

        public Criteria andInvPayerIsNull() {
            addCriterion("inv_payer is null");
            return (Criteria) this;
        }

        public Criteria andInvPayerIsNotNull() {
            addCriterion("inv_payer is not null");
            return (Criteria) this;
        }

        public Criteria andInvPayerEqualTo(String value) {
            addCriterion("inv_payer =", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerNotEqualTo(String value) {
            addCriterion("inv_payer <>", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerGreaterThan(String value) {
            addCriterion("inv_payer >", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerGreaterThanOrEqualTo(String value) {
            addCriterion("inv_payer >=", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerLessThan(String value) {
            addCriterion("inv_payer <", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerLessThanOrEqualTo(String value) {
            addCriterion("inv_payer <=", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerLike(String value) {
            addCriterion("inv_payer like", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerNotLike(String value) {
            addCriterion("inv_payer not like", value, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerIn(List<String> values) {
            addCriterion("inv_payer in", values, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerNotIn(List<String> values) {
            addCriterion("inv_payer not in", values, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerBetween(String value1, String value2) {
            addCriterion("inv_payer between", value1, value2, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvPayerNotBetween(String value1, String value2) {
            addCriterion("inv_payer not between", value1, value2, "invPayer");
            return (Criteria) this;
        }

        public Criteria andInvAmountIsNull() {
            addCriterion("inv_amount is null");
            return (Criteria) this;
        }

        public Criteria andInvAmountIsNotNull() {
            addCriterion("inv_amount is not null");
            return (Criteria) this;
        }

        public Criteria andInvAmountEqualTo(Long value) {
            addCriterion("inv_amount =", value, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountNotEqualTo(Long value) {
            addCriterion("inv_amount <>", value, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountGreaterThan(Long value) {
            addCriterion("inv_amount >", value, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("inv_amount >=", value, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountLessThan(Long value) {
            addCriterion("inv_amount <", value, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountLessThanOrEqualTo(Long value) {
            addCriterion("inv_amount <=", value, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountIn(List<Long> values) {
            addCriterion("inv_amount in", values, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountNotIn(List<Long> values) {
            addCriterion("inv_amount not in", values, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountBetween(Long value1, Long value2) {
            addCriterion("inv_amount between", value1, value2, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvAmountNotBetween(Long value1, Long value2) {
            addCriterion("inv_amount not between", value1, value2, "invAmount");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeIsNull() {
            addCriterion("inv_pay_type is null");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeIsNotNull() {
            addCriterion("inv_pay_type is not null");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeEqualTo(String value) {
            addCriterion("inv_pay_type =", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeNotEqualTo(String value) {
            addCriterion("inv_pay_type <>", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeGreaterThan(String value) {
            addCriterion("inv_pay_type >", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeGreaterThanOrEqualTo(String value) {
            addCriterion("inv_pay_type >=", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeLessThan(String value) {
            addCriterion("inv_pay_type <", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeLessThanOrEqualTo(String value) {
            addCriterion("inv_pay_type <=", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeLike(String value) {
            addCriterion("inv_pay_type like", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeNotLike(String value) {
            addCriterion("inv_pay_type not like", value, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeIn(List<String> values) {
            addCriterion("inv_pay_type in", values, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeNotIn(List<String> values) {
            addCriterion("inv_pay_type not in", values, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeBetween(String value1, String value2) {
            addCriterion("inv_pay_type between", value1, value2, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvPayTypeNotBetween(String value1, String value2) {
            addCriterion("inv_pay_type not between", value1, value2, "invPayType");
            return (Criteria) this;
        }

        public Criteria andInvDateIsNull() {
            addCriterion("inv_date is null");
            return (Criteria) this;
        }

        public Criteria andInvDateIsNotNull() {
            addCriterion("inv_date is not null");
            return (Criteria) this;
        }

        public Criteria andInvDateEqualTo(Date value) {
            addCriterionForJDBCDate("inv_date =", value, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("inv_date <>", value, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateGreaterThan(Date value) {
            addCriterionForJDBCDate("inv_date >", value, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("inv_date >=", value, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateLessThan(Date value) {
            addCriterionForJDBCDate("inv_date <", value, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("inv_date <=", value, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateIn(List<Date> values) {
            addCriterionForJDBCDate("inv_date in", values, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("inv_date not in", values, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("inv_date between", value1, value2, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("inv_date not between", value1, value2, "invDate");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonIsNull() {
            addCriterion("inv_take_person is null");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonIsNotNull() {
            addCriterion("inv_take_person is not null");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonEqualTo(String value) {
            addCriterion("inv_take_person =", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonNotEqualTo(String value) {
            addCriterion("inv_take_person <>", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonGreaterThan(String value) {
            addCriterion("inv_take_person >", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonGreaterThanOrEqualTo(String value) {
            addCriterion("inv_take_person >=", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonLessThan(String value) {
            addCriterion("inv_take_person <", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonLessThanOrEqualTo(String value) {
            addCriterion("inv_take_person <=", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonLike(String value) {
            addCriterion("inv_take_person like", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonNotLike(String value) {
            addCriterion("inv_take_person not like", value, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonIn(List<String> values) {
            addCriterion("inv_take_person in", values, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonNotIn(List<String> values) {
            addCriterion("inv_take_person not in", values, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonBetween(String value1, String value2) {
            addCriterion("inv_take_person between", value1, value2, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvTakePersonNotBetween(String value1, String value2) {
            addCriterion("inv_take_person not between", value1, value2, "invTakePerson");
            return (Criteria) this;
        }

        public Criteria andInvRemarkIsNull() {
            addCriterion("inv_remark is null");
            return (Criteria) this;
        }

        public Criteria andInvRemarkIsNotNull() {
            addCriterion("inv_remark is not null");
            return (Criteria) this;
        }

        public Criteria andInvRemarkEqualTo(String value) {
            addCriterion("inv_remark =", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkNotEqualTo(String value) {
            addCriterion("inv_remark <>", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkGreaterThan(String value) {
            addCriterion("inv_remark >", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("inv_remark >=", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkLessThan(String value) {
            addCriterion("inv_remark <", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkLessThanOrEqualTo(String value) {
            addCriterion("inv_remark <=", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkLike(String value) {
            addCriterion("inv_remark like", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkNotLike(String value) {
            addCriterion("inv_remark not like", value, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkIn(List<String> values) {
            addCriterion("inv_remark in", values, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkNotIn(List<String> values) {
            addCriterion("inv_remark not in", values, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkBetween(String value1, String value2) {
            addCriterion("inv_remark between", value1, value2, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvRemarkNotBetween(String value1, String value2) {
            addCriterion("inv_remark not between", value1, value2, "invRemark");
            return (Criteria) this;
        }

        public Criteria andInvStatusIsNull() {
            addCriterion("inv_status is null");
            return (Criteria) this;
        }

        public Criteria andInvStatusIsNotNull() {
            addCriterion("inv_status is not null");
            return (Criteria) this;
        }

        public Criteria andInvStatusEqualTo(Integer value) {
            addCriterion("inv_status =", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotEqualTo(Integer value) {
            addCriterion("inv_status <>", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusGreaterThan(Integer value) {
            addCriterion("inv_status >", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusGreaterThanOrEqualTo(Integer value) {
            addCriterion("inv_status >=", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusLessThan(Integer value) {
            addCriterion("inv_status <", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusLessThanOrEqualTo(Integer value) {
            addCriterion("inv_status <=", value, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusIn(List<Integer> values) {
            addCriterion("inv_status in", values, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotIn(List<Integer> values) {
            addCriterion("inv_status not in", values, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusBetween(Integer value1, Integer value2) {
            addCriterion("inv_status between", value1, value2, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvStatusNotBetween(Integer value1, Integer value2) {
            addCriterion("inv_status not between", value1, value2, "invStatus");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateIsNull() {
            addCriterion("inv_create_date is null");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateIsNotNull() {
            addCriterion("inv_create_date is not null");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateEqualTo(Date value) {
            addCriterionForJDBCDate("inv_create_date =", value, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("inv_create_date <>", value, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateGreaterThan(Date value) {
            addCriterionForJDBCDate("inv_create_date >", value, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("inv_create_date >=", value, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateLessThan(Date value) {
            addCriterionForJDBCDate("inv_create_date <", value, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("inv_create_date <=", value, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateIn(List<Date> values) {
            addCriterionForJDBCDate("inv_create_date in", values, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("inv_create_date not in", values, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("inv_create_date between", value1, value2, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvCreateDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("inv_create_date not between", value1, value2, "invCreateDate");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameIsNull() {
            addCriterion("inv_goods_name is null");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameIsNotNull() {
            addCriterion("inv_goods_name is not null");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameEqualTo(String value) {
            addCriterion("inv_goods_name =", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameNotEqualTo(String value) {
            addCriterion("inv_goods_name <>", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameGreaterThan(String value) {
            addCriterion("inv_goods_name >", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameGreaterThanOrEqualTo(String value) {
            addCriterion("inv_goods_name >=", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameLessThan(String value) {
            addCriterion("inv_goods_name <", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameLessThanOrEqualTo(String value) {
            addCriterion("inv_goods_name <=", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameLike(String value) {
            addCriterion("inv_goods_name like", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameNotLike(String value) {
            addCriterion("inv_goods_name not like", value, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameIn(List<String> values) {
            addCriterion("inv_goods_name in", values, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameNotIn(List<String> values) {
            addCriterion("inv_goods_name not in", values, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameBetween(String value1, String value2) {
            addCriterion("inv_goods_name between", value1, value2, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvGoodsNameNotBetween(String value1, String value2) {
            addCriterion("inv_goods_name not between", value1, value2, "invGoodsName");
            return (Criteria) this;
        }

        public Criteria andInvFappIdIsNull() {
            addCriterion("inv_fapp_id is null");
            return (Criteria) this;
        }

        public Criteria andInvFappIdIsNotNull() {
            addCriterion("inv_fapp_id is not null");
            return (Criteria) this;
        }

        public Criteria andInvFappIdEqualTo(Integer value) {
            addCriterion("inv_fapp_id =", value, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdNotEqualTo(Integer value) {
            addCriterion("inv_fapp_id <>", value, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdGreaterThan(Integer value) {
            addCriterion("inv_fapp_id >", value, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("inv_fapp_id >=", value, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdLessThan(Integer value) {
            addCriterion("inv_fapp_id <", value, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdLessThanOrEqualTo(Integer value) {
            addCriterion("inv_fapp_id <=", value, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdIn(List<Integer> values) {
            addCriterion("inv_fapp_id in", values, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdNotIn(List<Integer> values) {
            addCriterion("inv_fapp_id not in", values, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdBetween(Integer value1, Integer value2) {
            addCriterion("inv_fapp_id between", value1, value2, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvFappIdNotBetween(Integer value1, Integer value2) {
            addCriterion("inv_fapp_id not between", value1, value2, "invFappId");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserIsNull() {
            addCriterion("inv_check_user is null");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserIsNotNull() {
            addCriterion("inv_check_user is not null");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserEqualTo(String value) {
            addCriterion("inv_check_user =", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserNotEqualTo(String value) {
            addCriterion("inv_check_user <>", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserGreaterThan(String value) {
            addCriterion("inv_check_user >", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserGreaterThanOrEqualTo(String value) {
            addCriterion("inv_check_user >=", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserLessThan(String value) {
            addCriterion("inv_check_user <", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserLessThanOrEqualTo(String value) {
            addCriterion("inv_check_user <=", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserLike(String value) {
            addCriterion("inv_check_user like", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserNotLike(String value) {
            addCriterion("inv_check_user not like", value, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserIn(List<String> values) {
            addCriterion("inv_check_user in", values, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserNotIn(List<String> values) {
            addCriterion("inv_check_user not in", values, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserBetween(String value1, String value2) {
            addCriterion("inv_check_user between", value1, value2, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckUserNotBetween(String value1, String value2) {
            addCriterion("inv_check_user not between", value1, value2, "invCheckUser");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkIsNull() {
            addCriterion("inv_check_remark is null");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkIsNotNull() {
            addCriterion("inv_check_remark is not null");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkEqualTo(String value) {
            addCriterion("inv_check_remark =", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkNotEqualTo(String value) {
            addCriterion("inv_check_remark <>", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkGreaterThan(String value) {
            addCriterion("inv_check_remark >", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("inv_check_remark >=", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkLessThan(String value) {
            addCriterion("inv_check_remark <", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkLessThanOrEqualTo(String value) {
            addCriterion("inv_check_remark <=", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkLike(String value) {
            addCriterion("inv_check_remark like", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkNotLike(String value) {
            addCriterion("inv_check_remark not like", value, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkIn(List<String> values) {
            addCriterion("inv_check_remark in", values, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkNotIn(List<String> values) {
            addCriterion("inv_check_remark not in", values, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkBetween(String value1, String value2) {
            addCriterion("inv_check_remark between", value1, value2, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckRemarkNotBetween(String value1, String value2) {
            addCriterion("inv_check_remark not between", value1, value2, "invCheckRemark");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateIsNull() {
            addCriterion("inv_check_date is null");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateIsNotNull() {
            addCriterion("inv_check_date is not null");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateEqualTo(Date value) {
            addCriterionForJDBCDate("inv_check_date =", value, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateNotEqualTo(Date value) {
            addCriterionForJDBCDate("inv_check_date <>", value, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateGreaterThan(Date value) {
            addCriterionForJDBCDate("inv_check_date >", value, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("inv_check_date >=", value, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateLessThan(Date value) {
            addCriterionForJDBCDate("inv_check_date <", value, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("inv_check_date <=", value, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateIn(List<Date> values) {
            addCriterionForJDBCDate("inv_check_date in", values, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateNotIn(List<Date> values) {
            addCriterionForJDBCDate("inv_check_date not in", values, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("inv_check_date between", value1, value2, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvCheckDateNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("inv_check_date not between", value1, value2, "invCheckDate");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteIsNull() {
            addCriterion("inv_is_delete is null");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteIsNotNull() {
            addCriterion("inv_is_delete is not null");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteEqualTo(Integer value) {
            addCriterion("inv_is_delete =", value, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteNotEqualTo(Integer value) {
            addCriterion("inv_is_delete <>", value, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteGreaterThan(Integer value) {
            addCriterion("inv_is_delete >", value, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteGreaterThanOrEqualTo(Integer value) {
            addCriterion("inv_is_delete >=", value, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteLessThan(Integer value) {
            addCriterion("inv_is_delete <", value, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteLessThanOrEqualTo(Integer value) {
            addCriterion("inv_is_delete <=", value, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteIn(List<Integer> values) {
            addCriterion("inv_is_delete in", values, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteNotIn(List<Integer> values) {
            addCriterion("inv_is_delete not in", values, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteBetween(Integer value1, Integer value2) {
            addCriterion("inv_is_delete between", value1, value2, "invIsDelete");
            return (Criteria) this;
        }

        public Criteria andInvIsDeleteNotBetween(Integer value1, Integer value2) {
            addCriterion("inv_is_delete not between", value1, value2, "invIsDelete");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}